1. Field of the Invention
Methods and apparatuses consistent with the present invention relate to a universal plug and play (UPnP) network, and more particularly, to a method and apparatus for providing a remote device with a service of a UPnP network.
2. Description of the Related Art
A UPnP communication protocol for communication among devices in a home network is a standard for analyzing attribute and control information of a device by analyzing a predetermined message with a simple object access protocol (SOAP) type on the basis of an internet protocol (IP) packet.
Recently, there have been many attempts for allowing an external UPnP device to operate as though the external UPnP device is located in the UPnP network. However, in most cases, the external UPnP device is limited in terms of performing processes such as IP addressing, discovery, description, control, and eventing. Therefore, a UPnP remote access architecture is being researched so as to allow the external UPnP device to operate as though the external UPnP device is physically located in the UPnP network, even when the external UPnP device is located far apart from the UPnP network.
FIG. 1 illustrates an environment of a conventional UPnP remote architecture. Hereinafter, the conventional UPnP remote architecture shown in FIG. 1 will be described, and a more detailed description is disclosed in a related standard.
A remote access server (RAS) device and a home device exist in a UPnP network, and a remote access client (RAC) device is located far apart from the UPnP network. An RAS may be mounted on a home gateway or an independent home network device.
A remote access transport agent (RATA) provides a secured communication channel between the RAC device and the RAS device, and in general, a virtual private network (VPN) is used to embody the secured communication channel.
A management console (not shown) supplies parameters needed for setting a remote access transport channel (RATC) by using a RATA Config that indicates a service provided by the RAS and the RAC devices, and the management console indicates a control point including a user interface.
In general, since an access through the RATA starts by a remote device that is the RAC device, the RAS of a home network has to be recognizable and reachable through the Internet. An InboundConnectionConfig service provides an interface so as to allow a network manager to configure necessary settings so that the RAC device may establish the RATC with the RAS.
A routing module transmits a message between the home device and the RAC device and divides a multicast domain, so that traffic, which is multicast in the UPnP network, is not transmitted to a remote network through the RATC.
By monitoring a simple service discovery protocol (SSDP) message, a remote access discovery agent (RADA) Listener/Relay provides information regarding the joining or leaving of a device, when the device joins or leaves a local network. In addition, the RADA Listener/Relay responds to an SSDP Query (M-Search) of a local device with respect to the remote device.
An RADA is a device for performing a discovery process in the UPnP network, and the RADA synchronizes a network image. Such synchronization of the network image represents that devices and services recognized by the RAS device after performing the discovery process are synchronized with devices and services recognized by the RAC device.
FIG. 2 illustrates a synchronization of a network image by the RADA. As shown in FIG. 2, UPnP devices and UPnP services, which are located in a local network and a remote network, are recognized as though the UPnP devices and the UPnP services are located in a UPnP network. For this, when a new device or service is added to the local network, an RADA Sync control point (CP) of the RAS device adds the new device or service to a remote network node of the network image by performing an AddRemoteDevice( ) function provided by a RADA Sync service of the RAC device. When another new device or service is added to the remote network, the aforementioned process is also applied.
The RAC device discovers the new service from the synchronized network image and directly requests a corresponding UPnP device to provide the discovered service through the RATC. At this time, the RAS device only functions as a router.
The RADA Config of the RAS device is a service for allowing a user to select a network image that is opened up to the remote network, and the RADA Config service provides an interface for allowing the user to input filtering information.
FIG. 3 illustrates the filtering information of a conventional RADA Config service. The user sets a network image that is externally opened up to the local network by inputting the filtering information as shown in FIG. 3.
Referring to FIG. 3, a device of which a unique device name (UDN) is “31638 . . . ” among devices of the local network is only opened up to an RAC device which uses the RATC with a credential ID David_MP3_Player. All the devices of which the UDNs are “*” of the local network are opened up to the RAC device that uses the RATC with a credential ID “Dad_MobilePC”.
As described above, the RAC device discovers a service from the synchronized network image. However, the RAC device does not discover a service provided by a device filtered by the RADA Config service of the RAS device. As shown in FIG. 3, this is because the filtering information of the RADA Config service is device level information. Accordingly, in order to effectively and flexibly manage the network, a mechanism for a service level access control is required.